/*************************************************************************
    > File Name: 1fcntl.c
    > Author: Ykk
    > Mail: 3393579535@qq.com 
    > Created Time: 2023年04月07日 星期五 16时18分59秒
 ************************************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>

int main()
{
	int fd = -1;
	int newfd = -1;
	int ret = -1;
	//1.打开文件
	fd = open("txt",O_WRONLY | O_CREAT,0644);
	if(-1 == fd)
	{
		perror("open");
		return 1;
	}
	printf("fd = %d\n",fd);
	//2.文件描述符的复制
	//功能等价于dup函数
	//第三个参数0，表示返回一个最小的可用的文件描述符，并且大于或等于0
	newfd = fcntl(fd,F_DUPFD,0);
	if(-1 == newfd)
	{
		perror("fcntl");
		return 1;
	}
	printf("newfd = %d\n",newfd);
	//3.写操作
	write(fd,"1234567890",10);
	write(newfd,"ABCDEFGHIJ",10);
	
	//4.关闭文件
	close(fd);
	close(newfd);
	return 0;
}
